home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Zoom 2
/
Zoom - Release 2 (1996)(Active Software)[!].iso
/
graphics
/
misc
/
xanim4
/
xanim.txt
< prev
next >
Wrap
Text File
|
1978-06-28
|
31KB
|
688 lines
NAME
xanim - multiformat animation viewer for X
SYNOPSIS
xanim [ +Vnum ] [ +Aaopts ] [ +Ccopts ] [ +Ggopts ] [
+Mmopts ] [ +Ssopts ] [ +Zzopts ] [ +opts ] anim-
file [ [ +opts ] [ animfile ] ... ]
DESCRIPTION
XAnim is a program that can display animations of various
formats on systems running X11. XAnim currently supports
the following animation types:
+ FLI animations.
+ FLC animations.
+ IFF animations. The following features are sup-
ported:
-> Compressions 3,5,7,J(movies) and l(small
L).
-> Color cycling during single images and
anims.
-> Display Modes: depth 1-8, EHB, HAM and
HAM8.
+ GIF87a and GIF89a files.
-> single and multiple images supported.
-> GIF89a animation extensions supported.
+ GIF89a animation extension support.
+ a kludgy text file listing gifs and what order
to show them in.
+ DL animations. Formats 1, 2 and 3. TEMP DISABLED
+ Amiga PFX(PageFlipper Plus F/X) animations. TEMP
DISABLED
+ Amiga MovieSetter animations(For those Eric
Schwartz fans).
+ Utah Raster Toolkit RLE images and anims.
+ AVI animations. Currently supported are
-> IBM Ultimotion (ULTI) depth 16.
-> JPEG (JPEG) depth 24.
-> Motion JPEG (MJPG) depth 24.
-> Intergraph JPEG (IJPG) depth 24.
-> Microsoft Video 1 (CRAM) depth 8 and 16.
-> SuperMac Cinepak (CVID) depth 24.
-> Uncompressed (RGB) depth 8.
-> Run length encoded (RLE8) depth 8.
+ Quicktime Animations. The following features are
supported:
-> (RAW) depth 4,8,16,24,24+ and GRAY 4,8.
-> Apple Graphics (RLE ) depth 1,8,16,24 and
GRAY 8.
-> Apple Animation (SMC ) depth 8 and GRAY 8.
-> Apple Video (RPZA) depth 16.
-> SuperMac Cinepak (CVID) depth 24 and GRAY
8.
XAnim Beta Audio Rev 2.29.7.519Jan95 1
-> ??? YUV2 (YUV2) depth 24.
-> Photo JPEG (JPEG) depth 8 and 24.
-> Supports multiple video trak's.
-> Supports animations with multiple codecs.
-> Supports single-fork and separate .rsrc and
.data forks.
+ JFIF images. NOTE: use XV for single images.
This is more for animation of a sequence of JPEG
images.
+ WAV audio files may have their sound added to
any animation type that doesn't already have
audio, by specifying the .wav file after the
animation file on the command line. Currently
only the PCM audio codec is supported.
+ any combination of the above on the same command
line.
XAnim also provides various options that allow the user to
alter colormaps, playback speeds, looping modes and can
provide on-the-fly scaling of animations with the mouse.
OPTIONS
A + will generally turn an option on and a - will turn an
option off. This can be reversed at compile time. (see
xanim_config.h).
In each SubMenu, the options can be run together with no
intervening spaces. In the list of SubMenu options pre-
sented below, the first letter given is the letter that
specifies the SubMenu and should NOT be repeated if sev-
eral SubMenu options are to be run together.
For example, "+Cn +Cs10 +CF4" can also be written as
"+Cns10F4" or "+CF4s10n".
A + or a - within a SubMenu will be an exit from that sub-
menu. Options will affect all animations following the
invocation of that option. Some options may be changed in
between animations without affecting previous animations.
In the following sections, an num represents an integer
number and an fnum represents a floating point number. If
a floating point number is of an integer amount, the .
need not be specified. There should be no spaces between
the option and the numbers.
aopts SubMenu for Audio Options
+Ae Audio Enable. XAnim will ignore audio data
if this option is not used.
+Ak This option allows XAnim to skip video
frames in order to help keep video in sync
with audio. default is on.
XAnim Beta Audio Rev 2.29.7.519Jan95 2
+Asfnum Scale Audio playback speed by "fnum". Only
the range 0.125 to 8.00 is allowed.
+Apnum This turns a hardware specific Audio port
on or off. The default port is selectable
in xanim_config.h. It's shipped with inter-
nal speaker as default.
0 - internal speaker
1 - headphones or external speaker
2 - line out
+Avnum Sets the inital Audio Volume(0-255) with 0
the lowest. default is 100.
copts SubMenu for Color Options
+C1 Create a colormap from the first frame of a
TrueColor anim and then remap the remaining
frames to this colormap. This can poten-
tially add significant time to the startup
of an animation but usually results in bet-
ter colors. The animation needs to be
buffered for this option to work. Not valid
for TrueColor or DirectColor displays(nor
is it needed).
+C3 Convert TrueColor anims to 332(Static-
Color). TrueColor anims are animations that
provide separate RGB info for each pixel,
rather than each pixel being an index into
a global colormap. AVI(16bit CRAM), QT(RPZA
and RLE depth 16 and 24) and URT RLE 24 bit
anims are examples of TrueColor anims. This
option is ignored for TrueColor or Direct-
Color displays.
+CA Create a colormap from each frame of a
TrueColor anim. This can be useful if the
colors radically change during the course
of the animation. This can take a VERY,VERY
long time at start up. Animation must be
buffered. This option is ignored for True-
Color or DirectColor displays.
+Ca Remap all images to single new cmap created
from all of the colormaps.
+Cd Use Floyd-Steinberg dithering if needed for
non-monochrome displays. This will cause a
reduction in playback speed.
XAnim Beta Audio Rev 2.29.7.519Jan95 3
+Cf Forcibly remap to all frames to 1st frame's
cmap.
+CF0 Disables +CF4.
+CF4 This option samples the colors of true
color animations ahead of time and forms a
color lookup table. Beats the just trun-
cating to a RGB 332 color table and IMHO
beats dithering. See the +s option
below(also in copts submenu). NOTE: this
is now on by default.
+Cg Convert TrueColor anims to gray scale. This
option is ignored for TrueColor and Direct-
Color displays.
+Ch Use histogram to aid in color reduction.
Histrogramming is only done on frames that
are buffered.
+Cm This option is currently needed if you want
to dither TrueColor anims to a 332 col-
ormap. Animation must be buffered. Typi-
cally +bC3dm is the option to use. This can
take a VERY long time at start up.
+Cn Don't create new colormap but instead allo-
cate colors from the X11 Display's default
cmap.
+Csnum This is the number of frames the +CF4
option looks at ahead of time. More frames
potentially yields better colors results,
but takes more time at start up. default
is 5.
gopts SubMenu for Gamma Options
+Gafnum Set gamma of animation to be displayed.
+Gdfnum Set gamma of display. 1.0 is no change.
gamma's greater than 1.0 typically brighten
the animation.
mopts SubMenu for Median-Cut Quantization Options
+Ma compute box color from average of box.
+Mc compute box color as center of box.
+Mbnum Truncate rgb to num bits before quantizing.
sopts SubMenu for Scaling Options
XAnim Beta Audio Rev 2.29.7.519Jan95 4
+Si Half the height of IFF anims if they are
interlaced.(Not completely reliable since
not all IFF anims correctly identify them-
selves as interlaced).
+Sn Prevents X11 window from resizing to match
animations's size.
+Sr Allow user to resize animation on the fly.
Enlarging an animation can greatly reduce
playback speed depending on the power of
the cpu.
+Ssfnum Scale the size of animation by fnum before
displaying.
+Shfnum Scale the horizontal size of the animation
by fnum before displaying.
+Svfnum Scale the vertical size of the animation by
fnum before displaying.
+Sxnum Scale the animation to have width num
before displaying.
+Synum Scale the animation to have height num
before displaying.
+Sc Copy display scaling factors to display
buffering factors.
+SSfnum Scale the size of the animation by fnum
before buffering it.
+SHfnum Scale the horizontal size of the animation
by fnum before buffering it.
+SVfnum Scale the vertical size of the animation by
fnum before buffering it.
+SXnum Scale the animation to have width num
before buffering it.
+SYnum Scale the animation to have height num
before buffering it.
+SC Copy buffer scaling factors to display
scaling factors.
zopts SubMenu for Special Options
+Ze XAnim will exit after playing through com-
mand line once.
XAnim Beta Audio Rev 2.29.7.519Jan95 5
+Zpnum XAnim pause at frame num and then wait for
user input. Several pauses may be speci-
fied. Each group of pauses will only affect
the animation immediately following them on
the command line. Pauses will occur at
least once.
+Zr This option enables the Remote Control Win-
dow. This overrides the default condition
set in xanim_config.h. Remote Control sup-
port must be compiled into XAnim for this
to work.
Normal Options
+b Uncompress and buffer images before dis-
playing. This only applies to AVI,QT,
IFF,FLI,FLC animations. The
rest(GIF87a,GIF89a,DL,PFX and RLE) are cur-
rently always uncompressed and buffered.
This is cleared by the +f option.
+B Used X11 Shared Memory(if present) for
unbuffered animations only.(This is mutu-
ally exclusive with +b above).
+f Don't load anim into memory, but read each
section only when needed. This is supported
only for AVI,QT,IFF,FLI and FLC animations.
This option is cleared by the +b option.
This saves memory at the cost of speed.
+c let xanim know that iff anim is a nonloop-
ing one.
+dnum debug switch. num can be from 0(off) to
5(most) for level of detail.
+F Floyd-Steinberg dithering when needed.
+jnum num is the number of milliseconds between
frames. if 0 then the time specified in the
animation is used for timing purposes.
+lnum loop animation num number of times before
moving on to next animation.
+lpnum ping-pong animation num number of times
before moving on to next animation.
+N don't display images. Useful for benchmark-
ing.
+o turns on certain optimizations. See
XAnim Beta Audio Rev 2.29.7.519Jan95 6
xanim.readme.
+p Use Pixmap instead of Image in X11. This
option has no effect if the animation is
buffered(either by default or with the +b
option).
+r Allow color cycling for IFF single images.
+R Allow color cycling for IFF anims. (default
should be off)
+T0 Title option 0. Title is just XAnim.
+T1 Title option 1. Title is current anim name.
When anim is stopped, the current frame
number is included.
+T2 Title option 2. Title is current anim name
and current frame number.
+v Verbose mode. Gives some information about
animation such as size, number of frames,
etc.
+Vnum Select X11 Visual to use when displaying
animation. The num is obtained by using the
+X option of xanim.
+Vclass Select the best X11 Visual of Class class
when displaying the animation. class can
be anyone of the following strings and is
case insensitive. (ie StaTicGraY is same as
staticgray).
staticgray Select best StaticGray
Visual.
grayscale Select best GrayScale Visual.
staticcolor Select best StaticColor
Visual.
pseudocolor Select best PseudoColor
Visual.
truecolor Select best TrueColor Visual.
directcolor Select best DirectColor
Visual.
+X X11 verbose mode. Display information about
the support X11 visuals.
XAnim Beta Audio Rev 2.29.7.519Jan95 7
WINDOW COMMANDS
Once the animation is up and running there are various
commands that can be entered into that animation window
from the keyboard.
q quit.
Q Quit.
g Stop color cycling.
r Restore original Colors(useful after g).
w Restore original window size(useful after resiz-
ing).
z This pops up or removes the Remote Control Win-
dow. Remote Control support must be compiled
into XAnim for this to work.
<space> Toggle. starts/stops animation.
, Single step back one frame.
. Single step forward one frame.
< Go back to start of previous anim.
> Go forward to start of next anim.
m Single step back one frame staying within anim.
/ Single step forward one frame staying within
anim.
- Increase animation playback speed.
= Decrease animation playback speed.
0 Reset animation playback speed to original val-
ues.
AUDIO RELATED WINDOW COMMANDS
1 Decrement volume by 10.
2 Decrement volume by 1.
3 Increment volume by 1.
4 Increment volume by 10.
s Toggle. Audio Volume(MUTE). on/off.
XAnim Beta Audio Rev 2.29.7.519Jan95 8
8 Toggle. Main Speaker. on/off.
9 Toggle. Headphones. on/off.
MOUSE BUTTONS
Once the animation is up and running the mouse buttons
have the following functions.
<Left_Button>
Single step back one frame.
<Middle_Button>
Toggle. starts/stops animation.
<Right_Button>
Single step forward one frame.
BUFFERING, PIXMAPS and READ_FROM_FILE Options
XAnim by default will read the entire animation into mem-
ory. DL, PFX, Moviesetter, GIF or URT RLE type animations
are always uncompressed and stored in memory as individual
images.
For the AVI, QT, IFF, FLI/FLC animations, only the com-
pressed delta is stored. These deltas are then uncom-
pressed each time they need to be displayed. The buffer
option(+b) may be used to potentially speed up playback by
uncompressing and storing these images ahead of time. But
more memory is used up in the process.
When an XPutImage is called, the image typically gets
copied twice, once to memory and then from there onto the
display. A pixmap is directly copied onto the display
without the first copy. This is why it is sometimes much
faster to use the pixmap option(+p). Each image isn't
converted into a pixmap until the first time it is dis-
played. This is why the first loop of an animation using
this option is sometimes slower than subsequent loops.
While the pixmap option may improve playback speed, it
will slow things down if on-the-fly scaling needs to be
performed. This is because XAnim no longer has direct
access to the image and needs to get a copy of it before
it can be scaled.
The read from file option(+f) causes XAnim not to store
the compressed deltas in memory. Instead as each image is
to be displayed, XAnim reads the corresponding compressed
delta from the file, expands it and then displays it.
While this can dramatically cut down on memory usage, the
necessary reads from disk(or whatever) can slow down
XAnim Beta Audio Rev 2.29.7.519Jan95 9
playback speed. XAnim still needs to allocate one to
three image buffers depending on the type of animation and
the scaling options used. This option is only supported
for AVI, QT, FLI/FLC and IFF animations. The BODY chunk of
IFF animations is not included in this. As a result, an
IFF animation that is made up of several BODY chunks will
not currently benefit from this option.
SCALING Options
There are two sets of scaling options. One set, the dis-
play scaling factors, affects the size of the animation
as it is displayed. The other set, the buffer scaling fac-
tors, affect the size of the images as they are stored in
memory(buffered). The buffer scaling factors only affect
animations that are buffered and can greatly increase or
decrease memory usage.
These two sets are completely independent of each other.
You can set the buffer scaling factors to 20 times the
normal animation size and not affect the size at which
that animation is displayed. The images are stored at 20
times the normal size(and at 400 times the memory usage),
but then get scaled back down to normal size before being
displayed. NOTE: that an animation must be buffered in
order for the buffer scaling factors to have any affect on
it. The display scaling factors affect all animations.
You can create pixellation like affects by buffering the
animation at 1/8 it's normal size, but keeping the display
scaling factors at the original size. (IE "xanim +bSS0.125
anim.anim").
Many times it's faster to store and display an animation
with large dimensions at half-size. The option "+bSS0.5C"
or "+bSS0.5s0.5" both will accomplish this. To save mem-
ory, you could even store the animation at half size and
yet display it at full size. "+bSS0.5" will accomplish
this.
FORWARDS, BACKWARDS and OPTIMIZATION.
Many type of animations(FLI/FLC/IFF/some AVI and QTs) are
compressed with forward playback in mind only. Each delta
only stores the difference between the current frame and
the previous frame. As a results, most of these animations
don't display correctly when played backwards. Even when
buffered up, these may not work, since XAnim only stores
the smallest rectangle that encompasses the changes from
the previous frame. You can force XAnim to store the
entire frame by specifying the "-o" option to turn this
optimization off. This will most likely use more memory
and slow down the animation, since more of the image needs
to be stored and/or displayed.
XAnim Beta Audio Rev 2.29.7.519Jan95 10
COLOR OPTIONS
Most of this will be a TBD for a future rev and what's
here might be sketchy, incomplete or just plain confusing.
TrueColor and DirectColor displays don't need to worry
about most of these options, as the animations can be dis-
played in their original colors(ignoring monitor varia-
tions etc). However, TrueColor and DirectColor displays
can't display animations that employ color cycling tech-
niques where the colormap changes from frame to frame.
DirectColor could potentially support this, but not True-
Color.
For the rest of the displays, the problem becomes matching
the colors in the animations to the available colors of
the Display. For most PseudoColor displays this means 256
colors. Many of which are already in use by various other
programs. XAnim defaults to creating it's own colormap and
using all the colors from that. The window manager then
installs this new colormap, whenever the mouse pointer is
inside the XAnim animation window(Sometimes a specific
action is required to change the ColorMap Focus, like
clicking in the window or pressing a specific key). In any
case, this action usually causes all the other colors on
the screen to be temporarily "messed-up" until the mouse
is moved out of the animation window. The alternative, is
to use the "+Cn" option. Now XAnim tries allocating all
the colors it needs from the current colormap. If it can't
get a certain color, then XAnim choose one that is "close"
to this certain color. Close is completely arbitrary. The
animation is now displayed in colors that are different
than the original colors. This difference may or may not
be noticeable.
Another big problem is when the animations are what I
called TrueColor animations. Where each pixel is stored as
RGB triplets. For example, AVI 16 bit CRAM animations.
Each pixel has 5 bits of Red, 5 bits of Green and 5 bits
of Blue info associated with it. This means there can be
up to 32768 unique colors in each image. And on most Pseu-
doColor displays we can only display 256 unique colors.
Beside getting better displays, what can we do? XAnim
defaults to truncating the RGB information from 555 to
332. That is to 3 bits of Red, 3 bits of Green and 2 bits
of Blue. Less on Blue because the human eye is more sensi-
tive to Red and Green than Blue. This 332 colormap hap-
pens to be 256 colors in size, which nicely fits in with
our display. If our display only had 64 colors, then XAnim
is smart enough to truncate things down to 222. Now the
problem is the colors of the displayed anim are noticeably
different than the original colors. Typically you can see
color banding etc. While this is fine to get a feel for
the animation, we can do better. One of the solutions
XAnim currently offers is the "+bC1" option. What this
XAnim Beta Audio Rev 2.29.7.519Jan95 11
does is choose the the best 256 colors from the first
image of the animation. Then each pixel of each subsequent
image is remapped to one of these 256 colors. This takes
up some CPU time up front and more memory since each image
needs to be buffered, but results in a colors that are
closer to the originals. Another option, "+bCA", chooses
the best 256 from each image, then 256 colors from all
these colormaps are chosen as the final colormap. This is
useful if the colors in the first image aren't representa-
tive of the rest of the animation. This can be very slow.
Another option that is supported, but not really optimized
for yet is "+bC3dm". This causes XAnim to use a 332 col-
ormap and then apply a Floyd-Steinberg dither algorithm to
each image. Currently this is very slow. Different
dithers(like Ordered) and better optimizations might speed
this up in future revs. In general, handling of TrueColor
animations in XAnim needs to be improved.
Another scenario where colors need to be remapped, is when
several images or animations with different colormaps need
to be displayed. Changing the colormap usually results in
an annoying flicker. One solution to this is to remap all
of the images/animations to the same colormap. The "+Ca"
option chooses the best colors from all the colormaps and
then remaps all the images to it. The "+Cf" option, simply
remaps everything to the first colormap. The "+Ch" option
is useful when an animation's colormap specifies a lot of
colors that aren't used. XAnim looks through each buffered
image of the animation and makes a histogram of the useage
of each color. This information is then used to weedout
unused or rarely used colors.
QUICKTIME ANIMATIONS
Quicktime animations are usually stored in two separate
files. One is call a data fork and ends with a ".data".
The other is a resource fork and ends in a ".rsrc". Some-
times these animations are in a "flattened" format, where
everything is put into one file. There's no standard nam-
ing format for these types of files.
For example, if you have a quicktime animation made up of
two files named: "spin.rsrc" and "spin.data", you can
display them using Xanim with either of the following com-
mands "xanim spin" or "xanim spin.rsrc". XAnim is smart
enough to add/modfiy the ".rsrc" and ".data" endings as
needed.
If you use AUFS from the Columbia Appletalk Package, then
Macintosh files have their data fork stored in the
expected place, and the resource fork is in a file with
the same name in a .resource subdirectory. Therefore, if
the data fork is in "spin", and the resource fork is in
".resource/spin", the movie can be displayed with "xanim
XAnim Beta Audio Rev 2.29.7.519Jan95 12
spin".
For "flattened" quicktime animations, you need to specify
the entire file name.
NOTE: XAnim may not support all SMC or RPZA quicktime ani-
mations. It'll print "unknown code variation XX" to the
screen as it encounters these and move on to the next
image of that animation.
AUTHOR
Mark Podlipec - podlipec@wellfleet.com
XAnim Beta Audio Rev 2.29.7.519Jan95 13